Performance

performance 效能

@ terminology 術語 :
Response time 一份工作從進入了系統開始到全部完成離開系統所花的一個完整的時間

.

Throughput 一個單位時間裡面這個系統它所能夠完成的總工作量
比較 :
Response time它重視的是單一工作 它完成的 "時間的長短"
Throughput它所重視的是在一個時間裡面這個系統它所能夠完成的 "總工作量"

針對Response time以及Throughput在不同的情況下會受到怎麼樣的影響

@ 從原本比較慢的處理器 換成了比較快的處理器

Response time
實際上 "這份工作在這個系統裡面需要處理器執行的時間" 也應該能夠因此而縮短因為處理器的速度變快

Throughput
那麼可以預期的事情是
在一個單位的時間裡面這個處理器它能夠 "完成的工作總量" 應該也能夠增加

@ 增加處理器數目

Response time
    如果針對單一的工作
    這份工作如果它沒有辦法同時 "切割成好幾個小的部分"
    然後丟到不同的處理器來執行的話
    那麼我們可以預期的事情是實際上它的Response time
    應該沒有辦法減少

    如果我們可以把這份工作 "切成好幾個小部分"
    丟到不同的處理器同時地來執行的話
    那麼Response time就應該有機會可以減少
    而這個概念就是所謂的 "平行計算"

Throughput
    在一個單位時間裡面這個系統它全部能夠完成的工作總量
    所以如果我們能夠讓這個系統裡面的處理器的數量大幅地上升的話
    那麼自然而然它能夠完成的工作總量
    也應該能夠大幅地增加

Elapsed time : 完整的程式在這個系統裡面執行的時間

它包含了所有的面向
不管是CPU的處理, 等待I/O input, output的處理
或是作業系統它處理提供一些服務額外的時間,甚至是系統閒置的時間

Elapsed time比較短的時候    ->  系統效能比較高
Elapsed time比較長          ->  系統效能比較差
需要注意的事情是這是針對單一的一份工作才能夠做如此的定義

CPU time

針對一份工作它實際上在CPU處理的時候所花的時間
    我們忽略了I/O或是其它的面向
    包括了像剛才談到的作業系統甚至是等待的時間
    我們都不予考慮

    面相:
    第一個部分是跟使用者有關的
    第二個部分是跟作業系統的執行有關的

    因為作業系統它需要提供一些服務而這些服務它所花費的時間
    也應該要被記錄在這個程式所需執行的完整的時間內

    不同的程式在不同的CPU上面執行的時候我們也會得到不同的效能
    因為我們可以從它們不同的執行時間去評估這些程式在不同的系統中
    它的執行效能應該是怎麼樣子

Performance它其實就是Execution time倒數

這個程式在這個系統裡面它執行所花的時間的倒數

例子 :

比方來說 如果我們有兩個系統
X系統跟Y系統
如果我們想要了解X系統跟Y系統它們彼此之間相對的Performance (Relative performance)
把它們兩個人的執行時間Execution time拿來相除
因為Performance跟Execution time
它們互為反比的關係因此我們要把它們取倒數

results matching ""

    No results matching ""